package com.zenith.storage.po.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zenith.common.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 存储提供商实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sto_provider")
public class StorageProviderVO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 提供商名称 如 aliyun-oss, tencent-cos, minio-local
     */
    @TableField("provider_name")
    private String providerName;

    /**
     * 服务端点
     */
    @TableField("endpoint")
    private String endpoint;

    /**
     * 存储桶名称
     */
    @TableField("bucket")
    private String bucket;

    /**
     * 访问密钥
     */
    @TableField("access_key")
    private String accessKey;

    /**
     * 密钥
     */
    @TableField("secret_key")
    private String secretKey;

    /**
     * 区域
     */
    @TableField("region")
    private String region;

    /**
     * 状态(1-启用 0-停用)
     */
    @TableField("status")
    private Integer status;

    /**
     * 是否默认桶
     */
    @TableField("is_default")
    private Integer isDefault;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 扩展信息（JSON）
     */
    @TableField("ext_json")
    private String extJson;
}